package com.ilxqx.framework.util;

import com.ilxqx.framework.vo.DefaultResultVO;
import com.ilxqx.framework.vo.ResultVO;

/**
 * @author venus
 * 响应对象工具类
 */
public final class ResultUtils {

    /**
     * 成功
     * @param message 信息
     * @return vo对象
     */
    public static ResultVO success(String message) {
        return ResultUtils.success(message, null);
    }

    /**
     * 成功
     * @param message 信息
     * @param data 数据
     * @return vo对象
     */
    public static ResultVO success(String message, Object data) {
        return new DefaultResultVO(0, message, data);
    }

    /**
     * 失败
     * @param message 信息
     * @return vo对象
     */
    public static ResultVO failure(String message) {
        return ResultUtils.failure(message, null);
    }

    /**
     * 失败
     * @param code 失败码
     * @param message 信息
     * @return vo对象
     */
    public static ResultVO failure(int code, String message) {
        return ResultUtils.failure(code, message, null);
    }

    /**
     * 失败
     * @param message 信息
     * @param data 数据
     * @return vo对象
     */
    public static ResultVO failure(String message, Object data) {
        return ResultUtils.failure(-1, message, data);
    }

    /**
     * 失败
     * @param message 信息
     * @param data 数据
     * @param code 失败码
     * @return vo对象
     */
    public static ResultVO failure(int code, String message, Object data) {
        return new DefaultResultVO(code, message, data);
    }

    /**
     * 无效session
     * @param message 信息
     * @return vo对象
     */
    public static ResultVO invalidSession(String message) {
        return new DefaultResultVO(-2, message, null);
    }

    /**
     * 无效key
     * @param message 信息
     * @return vo对象
     */
    public static ResultVO invalidKey(String message) {
        return new DefaultResultVO(-3, message, null);
    }

}
